SaveComposite(RasterCodecs,string,List<CompositeJpxImages>,Jpeg2000FileFormat,int,int) Method
Syntax
Parameters
fileName
System.String containing the name of the file currently being saved.
compositeImages
List of CompositeJpxImages containing the image layer data that will be saved.
bitsPerPixel
Resulting file's pixel depth. Possible values are: 8, 12, 16, 24, 32, 48, 64, and 0. Zero [0] means that each image will be saved with its bits per pixel value, if that value is equal to one of the possible values (8, 12, 16, 24, 32, 48, or 64).
qualityFactor
Quality factor. This value determines the degree of loss in the compression process. Possible values are from 0 to 255. A value of zero (0) represents lossless compression. Values between 1 and 255 are interpreted as a compression ratio.
Example
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Jpeg2000;
public void SaveCompositeStringExample(byte[] xmlData)
{
RasterCodecs codecs = new RasterCodecs();
codecs.ThrowExceptionsOnInvalidImages = true;
// Load a JPEG 2000 image
Jpeg2000Engine engine = new Jpeg2000Engine();
List<CompositeJpxImages> images = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray);
engine.ResetEngineBoxes();
GtsoBox gtsoBox = (GtsoBox)(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0));
engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox);
//Save the image in JPX file format
engine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5);
//Append an XML box
XmlBox xmlBox = new XmlBox();
xmlBox.Data = xmlData;
List<XmlBox> xmlBoxes = new List<XmlBox>();
xmlBoxes.Add(xmlBox);
engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), xmlBoxes);
// Clean up
foreach (CompositeJpxImages image in images)
{
image.ColorImage.Dispose();
image.OpacityImage.Dispose();
image.PreOpacityImage.Dispose();
}
codecs.Dispose();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS21\Resources\Images";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Jpeg2000
Public Sub SaveCompositeStringExample(ByVal xmlData() As Byte)
Dim codecs As New RasterCodecs()
codecs.ThrowExceptionsOnInvalidImages = True
' Load a JPEG 2000 image
Dim engine As New Jpeg2000Engine()
Dim images As List(Of CompositeJpxImages) = engine.LoadComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), 0, CodecsLoadByteOrder.BgrOrGray)
engine.ResetEngineBoxes()
Dim gtsoBox As GtsoBox = DirectCast(engine.ReadBox(Path.Combine(LEAD_VARS.ImagesDir, "image1.jpx"), Jpeg2000BoxType.GtsoBox, 0), GtsoBox)
engine.SetBox(Jpeg2000FileFormat.LeadJpx, gtsoBox)
' Save the image in JPX file format
engine.SaveComposite(codecs, Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), images, Jpeg2000FileFormat.LeadJpx, 24, 5)
' Append an XML box
Dim _xmlBox As New XmlBox()
_xmlBox.Data = xmlData
Dim _xmlBoxes As New List(Of XmlBox)
_xmlBoxes.Add(_xmlBox)
engine.AppendBoxes(Path.Combine(LEAD_VARS.ImagesDir, "Test.jpx"), _xmlBoxes)
' Clean up
Dim _image As CompositeJpxImages
For Each _image In images
_image.ColorImage.Dispose()
_image.OpacityImage.Dispose()
_image.PreOpacityImage.Dispose()
Next _image
codecs.Dispose()
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\LEADTOOLS21\Resources\Images"
End Class